package com.app.myApp.dao;

import com.app.myApp.dataobject.UserInfoDO;
import org.apache.ibatis.annotations.Mapper;

@Mapper
public interface UserInfoDAO {

    /**
     * 插入用户信息
     * @param userInfoDO 用户信息DO
     * @return 插入行数
     */
    int insert(UserInfoDO userInfoDO);

    /**
     * 根据邮箱查询用户
     * @param email 邮箱（主键）
     * @return 用户信息DO
     */
    UserInfoDO selectByEmail(String email);

    /**
     * 根据邮箱更新用户信息（动态更新非空字段）
     * @param userInfoDO 用户信息DO（需包含email）
     * @return 更新行数
     */
    int updateByEmail(UserInfoDO userInfoDO);

    /**
     * 根据邮箱删除用户
     * @param email 邮箱（主键）
     * @return 删除行数
     */
    int deleteByEmail(String email);
}